home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 4 / Amoszine 4 (Disk 2 of 3).adf / Intuition_Procs / intui.lha / Demo_4.Amos / Demo_4.amosSourceCode
AMOS Source Code  |  1992-02-26  |  3KB  |  101 lines

  1. ' Demonstration of _OpenWindow, CloseWindow, MoveWindow and DisplayBeep
  2. ' note: this demo uses a 640x256 workbench display 
  3. '
  4. ' hide AMOS
  5. '
  6. Amos To Back 
  7. '
  8. Wait 50
  9. '
  10. ' open a window on the workbench - T=1 for workbench, T=15 for custom
  11. '
  12. _OPENWINDOW[200,80,200,100,0,3,$200,$100E,0,0," AMOS Window ",0,0,0,0,0,0,1]
  13. '
  14. ' flash workbench display 5 times  
  15. '
  16. Wait 50
  17. '
  18. For N=1 To 5
  19.    _DISPLAYBEEP[0] : Wait 50
  20. Next 
  21. '
  22. Wait 50
  23. '
  24. ' move window
  25. '
  26. _MOVEWINDOW[_IW,80,0] : Wait 50
  27. _MOVEWINDOW[_IW,0,50] : Wait 50
  28. _MOVEWINDOW[_IW,-130,-80] : Wait 50
  29. '
  30. Wait 50
  31. '
  32. ' close window 
  33. '
  34. _CLOSEWINDOW[_IW]
  35. '
  36. ' back to AMOS 
  37. '
  38. Amos To Front 
  39. '
  40. Edit 
  41. '
  42. Procedure _OPENWINDOW[X,Y,W,H,F,B,I,V,G,C,T$,_IS,M,MIW,MIH,MAW,MAH,T]
  43.    
  44.    Global _IW
  45.    
  46.    T$=T$+Chr$(0)
  47.    
  48.    Reserve As Work 10,48
  49.    
  50.    A=Start(10)
  51.    
  52.    Doke A,X : Add A,2 : Rem                             -- x_pos:  
  53.    Doke A,Y : Add A,2 : Rem                             -- y_pos:  
  54.    Doke A,W : Add A,2 : Rem                             -- width:  
  55.    Doke A,H : Add A,2 : Rem                             -- height: 
  56.    Poke A,F : Add A,1 : Rem                             -- detail_pen:   
  57.    Poke A,B : Add A,1 : Rem                             -- block_pen:  
  58.    Loke A,I : Add A,4 : Rem                             -- IDCMP flags:
  59.    Loke A,V : Add A,4 : Rem                             -- flags:  
  60.    Loke A,G : Add A,4 : Rem                             -- gadgets:  
  61.    Loke A,C : Add A,4 : Rem                             -- checkmark:  
  62.    Loke A,Varptr(T$) : Add A,4 : Rem                    -- title:         
  63.    Loke A,_IS : Add A,4 : Rem                           -- screen:   
  64.    Loke A,M : Add A,4 : Rem                             -- bitmap: 
  65.    Doke A,MIW : Add A,2 : Rem                           -- minwidth
  66.    Doke A,MIH : Add A,2 : Rem                           -- minheight 
  67.    Doke A,MAW : Add A,2 : Rem                           -- maxwidth
  68.    Doke A,MAH : Add A,2 : Rem                           -- maxheight 
  69.    Doke A,T : Rem                                       -- type:         
  70.    
  71.    Areg(0)=Start(10)
  72.    
  73.    _IW=Intcall(-204)
  74.    
  75.    Erase 10
  76.    
  77. End Proc
  78. Procedure _MOVEWINDOW[_IW,X,Y]
  79.    
  80.    Areg(0)=_IW : Rem     -- Pointer to window structure in A0 
  81.    
  82.    Dreg(0)=X : Rem       -- x increment in D0 
  83.    Dreg(1)=Y : Rem       -- y increment in D1 
  84.    
  85.    NULL=Intcall(-168)
  86.    
  87. End Proc
  88. Procedure _CLOSEWINDOW[_IW]
  89.    
  90.    Areg(0)=_IW : Rem     -- Window Handle In A0 
  91.    
  92.    NULL=Intcall(-72)
  93.    
  94. End Proc
  95. Procedure _DISPLAYBEEP[_IS]
  96.    
  97.    Areg(0)=_IS : Rem     -- Screen Handle In A0 
  98.    
  99.    NULL=Intcall(-96)
  100.    
  101. End Proc